<?php


class Ordem_model extends CI_Model
{
    private $id;
    private $id_cliente;
    private $nro_cartao;
    private $cod_seguranca;
    private $bandeira;
    private $total;
    private $nro_parcelas;
    private $data;


    public function  __construct($id = null)
    {
	parent::__construct();

	if ($id != null)
	{
	    $query = $this->db->get_where('ordem', array('id_ordem' => $id));

	    if ($query->num_rows() == 1) {
		$tmp = $query->row();

		$this->set_id((int)$tmp->id_ordem);
		$this->set_id_cliente((int)$tmp->id_cliente);
		$this->set_nro_cartao($tmp->nro_cartao);
		$this->set_cod_seguranca($tmp->cod_seguranca);
		$this->set_bandeira($tmp->bandeira);
		$this->set_total($tmp->total);
		$this->set_nro_parcelas($tmp->nro_parcelas);
		$this->set_data(DateTime::createFromFormat('Y-m-d H:i:s', $tmp->data));

	    } else {
		exit('Erro. Não foi possível criar a classe Ordem_model');
	    }
	}
    }

    public function create()
    {
	$dados = array( 'id_cliente'	=> $this->get_id_cliente(),
			'nro_cartao'	=> $this->get_nro_cartao(),
			'cod_seguranca'	=> $this->get_cod_seguranca(),
			'bandeira'	=> $this->get_bandeira(),
			'total'		=> $this->get_total(),
			'nro_parcelas'	=> $this->get_nro_parcelas()
		);

	$this->db->insert('ordem', $dados);
	$this->set_id($this->db->insert_id());
    }


    public function get_id() {
	return $this->id;
    }

    public function set_id($id) {
	$this->id = $id;
    }

    public function get_id_cliente() {
	return $this->id_cliente;
    }

    public function set_id_cliente($c) {
	$this->id_cliente = $c;
    }

    public function get_nro_cartao() {
	return $this->nro_cartao;
    }

    public function set_nro_cartao($n) {
	$this->nro_cartao = $n;
    }

    public function get_cod_seguranca() {
	return $this->cod_seguranca;
    }

    public function set_cod_seguranca($c) {
	$this->cod_seguranca = $c;
    }

    public function get_bandeira() {
	return $this->bandeira;
    }

    public function set_bandeira($b) {
	$this->bandeira = $b;
    }

    public function get_total() {
	return $this->total;
    }

    public function set_total($t) {
	$this->total = $t;
    }

    public function get_nro_parcelas() {
	return $this->nro_parcelas;
    }

    public function set_nro_parcelas($n) {
	$this->nro_parcelas = $n;
    }

    public function get_data() {
	return $this->data;
    }

    public function set_data(DateTime $d) {
	$this->data = $d;
    }

    public function get_ingressos()
    {
	$arr_ingressos = array();

	$busca = array('id_ordem' => $this->get_id());

	$query = $this->db->get_where('ingresso', $busca);
	foreach($query->result() as $k => $row)
	{
	    $arr_ingressos[] = new Ingresso_model($row->nro_ingresso, $row->id_lote);
	}

	return $arr_ingressos;
    }
}